Adaptive scaling and echo reduction

ABSTRACT

A method, apparatus, and system for scaling a value of an amplitude to a binary value and a method, apparatus and system for reducing an undesirable portion of a signal.

BACKGROUND

Audio communications transmitted over a network such as the Internetutilizing Internet Protocol (IP) may be referred to as “voice over IP”communications. When utilizing such voice over IP communications, itsometimes occurs that a speaker speaking into a transmitting device thattransmits audio through a node on a network using voice over IPcommunication will hear his own voice on his receiving device that isintended to receive audio from one or more other nodes on the network.Such receipt of ones own audio transmission may be referred to as“echo.”

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, wherein like reference numerals are employedto designate like components, are included to provide a furtherunderstanding of echo reduction, are incorporated in and constitute apart of this specification, and illustrate embodiments of echo reductionthat together with the description serve to explain the principles ofecho reduction.

In the drawings:

FIG. 1 is a block diagram of an embodiment of a method of adaptivelyscaling echo signals;

FIG. 2 is an embodiment of a processor based echo reduction device;

FIG. 3 is an embodiment of a voice over IP network in which an echoreduction device may be implemented;

FIG. 4 is an embodiment of an echo reduction system in which echoscaling may be implemented;

FIG. 5 is a graph of echo rejection using adaptive scaling and withoutadaptive scaling on a hybrid of 23 dB; and

FIG. 6 is a graph of echo rejection using adaptive scaling and withoutadaptive scaling on a hybrid of 18 dB.

FIG. 7 illustrates a signal modification method according to someembodiments.

FIG. 8 illustrates a method of scaling a value associated with a finiteimpulse response filter tap to an echo amplitude according to someembodiments.

FIG. 9 illustrates a device according to some embodiments.

DETAILED DESCRIPTION

Reference will now be made to embodiments of echo reduction and adaptivescaling in digital communications, examples of which are illustrated inthe accompanying drawings. Moreover, those of ordinary skill in the artwill appreciate that the echo reduction and adaptive scaling describedin connection with voice over IP communications may be equallyapplicable to other communications including, for example, any digitallytransmitted audio signal. Other details, features, and advantages ofecho reduction will become further apparent in the following detaileddescription of embodiments thereof.

Any reference in the specification to “one embodiment,” “a certainembodiment,” or a similar reference to an embodiment is intended toindicate that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment of the invention. The appearances of such terms in variousplaces in the specification are not necessarily all referring to thesame embodiment. References to “or” are furthermore intended asinclusive so “or” may indicate one or another of the ored terms or morethan one ored term.

The present echo reduction and adaptive scaling may be performed inconnection with digitally transmitted audio signals or information. Thatinformation may carry audio over a computer network such as theInternet, a wide area network (WAN), or a local area network (LAN). Suchnetworks are networks of nodes such as computers, dumb terminals, orother typically processor-based, devices interconnected by one or moreforms of communication media. Typical interconnected devices range fromtelephones, handheld computers and notebook PCs to high-end mainframeand supercomputers. The communication media coupling those devicesinclude twisted pair, co-axial cable, optical fibers and wirelesscommunication techniques such as use of radio frequency.

A node may be any device coupled to the network including, for example,routers, switches, servers, and clients. Nodes may be equipped withhardware, software or firmware used to communicate information over thenetwork in accordance with one or more protocols. A protocol maycomprise a set of instructions by which the information signals arecommunicated over a communications medium. Protocols are, furthermore,often layered over one another to form something called a “protocolstack.” In one embodiment, the network nodes operate in accordance withInternet Protocol (IP) as defined by Internet engineering Task Force(IETF) standard 5, Request for Comment (RFC) 791, (IP Specification),adopted in September, 1981 and available from www.ietf.org.

Nodes may operate as source nodes, destination nodes, intermediate nodesor a combination of those source nodes, destination nodes, andintermediate nodes. Information is passed from source nodes todestination nodes, often through one or more intermediate nodes.Information may comprise any data capable of being represented as adigital or analog signal, such as an electrical signal, optical signal,acoustical signal, packet, and so forth. Examples of information in thiscontext may include digital data that represents audio beingtransmitted, data to be utilized by the node in which the data resides,data to be transferred to another node and utilized therein, and soforth.

Audio communications generally involve at least two participants, atleast one of which is transmitting audio and the other is receiving thataudio. Often those two or more participants both transmit and receiveaudio as, for example, occurs in a typical telephone conversation. Anaudio transmission is often referred to as being transmitted on atransmission path or “Tx.” Receipt of the audio transmission is oftenreferred to as being received on a return path or “Rx.” Thus, in such atransmission, audio may be incident at a microphone, the microphone mayconvert the audio signal to a transmitted analog electrical signal, andthe analog electrical signal may be converted to a digital signal or setof information that may be transmitted on a digital network by way of,for example, IP packets in voice over IP format. Hardware that includesthe microphone, an analog signal handling device, a digital signalhandling device, a conversion device, and a transmission device, may bereferred to as a transmission node herein. The transmitted audio maythen be received at a receiving node that may include hardware similarto that included in the transmission node. The receiving node may thusreceive the voice over IP packets, convert the audio informationcontained in those packets to a received analog electrical signal, andthe received analog electrical signal may be converted to an audiosignal at a speaker so that the transmitted and received audio signalmay be heard by a user of the receiving node. The receiving node mayalso act as a transmitting node and the transmitting node may act as areceiving node in a similar fashion.

Echo analysis may include determination of delay in the communicationwhich may include the time between transmission at the transmitting nodeand reception of an audio communication at a receiving node and mayinclude the time between receipt of the audio communication and returnof an echo to the transmitting node. Such delay may be caused byactivities including conversion of signals, arrangement of digitalinformation into packets, and time required to transmit the packetsalong the transmit path, often through intermediate nodes. Other causesof delay may include portions of the audio transmission that arecommunicated by way of wireless transmission, satellite, and longdistance transmission over frame relay or asynchronous transfer mode(ATM) networks.

Echo may also be created by leakage between transmit and receive pathsat points along the transmission and return paths. Hybrid echo may becaused by an impedance mismatch in a hybrid circuit, such as a circuitutilizing an interface that converts between 2-wire and 4-wire types oftransmission.

In a typical telephone system, a handset used for transmitting andreceiving audio communications utilizes two wires on which analog audiosignals are both transmitted and received. Analog trunk connectionsoften, however, separate the transmit and receive signals onto differenttransmit and return 2-wire circuits, referred to as 4-wire transmission.In 2-wire transmission systems, transmit and return signals may leakacross the common two wire circuit, thereby causing echoes. In 2-wire to4-wire conversion, hybrid transforms may, for example, cause the returnsignal incident on the return signal portion of a 4-wire transmission tobe reflected onto the transmit signal incident on the transmit signalportion of the 4-wire transmission.

An echo canceller is a device that reduces the level of echo that hasleaked from one path to another, such as from the return path to thetransmit path. The echo canceller may reduce echo by estimating the echosignal by modeling, for example, an echo portion of a signal on the Rxpath. The transmit or return signal may then be adjusted by reducing itby the expected amount of echo so that the signal will be adjusted, byfor example subtracting the expected echo from the return signal, at atime when it is estimated that the echo will be incident at thetransmitting node. The time delay from transmission to receipt of theecho at the transmitting node may be referred to as “echo delay time.”Thus, for example, in a voice communication application wherein a firstnode and a second node are utilized as both transmitting and receivingnodes, a voice audio signal is transmitted from the first node to thesecond node. An amount of echo that will return to the first node fromthat transmission may then be calculated. That echo may then besubtracted from the return path to the first node, which should then beleft either with no audio, or a voice communication transmitted from thesecond node. The second node may operate in a similar fashion to reduceor eliminate echo from second node transmissions.

A finite impulse response (FIR) filter is a type of signal modificationelement such as a digital signal filter that outputs a modified form ofan input signal. The term “finite” indicates there is typically nofeedback used within a FIR filter. Throughput of a FIR filter may behigh as it may be implemented in assembly language or hardware.

A FIR tap is typically associated with a pair of values representing acoefficient and a delayed input signal sample. A number of FIR taps maybe designated as “N,” and that number N may be used to determine anamount of memory needed to implement the filter, a number ofcalculations necessary to implement the filter, and any limitationsregarding an amount of filtering that may be performed by a node, basedon the capability of that node.

FIR filters may be implemented using fractional arithmetic so that theymay be used in connection with small signals having a magnitude of lessthan 1.0, thus making them appropriate for use with small echo signals.

Echo may be reduced by adaptively reducing finite impulse response (FIR)tap quantization noise, thereby increasing signal to quantization noiseratio and improving speed of convergence in an echo canceller in voiceover IP.

A FIR filter may be used to model a hybrid in voice echo cancellationapplications. Such a hybrid may be as signal or portion of a signal thatcauses the echo. Therefore, once the hybrid is modeled, that hybrid maybe used to counteract and cancel the echo, thereby reducing oreliminating the echo.

The FIR filter may have, for example, 1024 taps, covering increments ofdelay in an audio signal up to 128 milliseconds. A sampling rate of 8kHz may, for example, be used to read the analog signal and convert thatanalog signal to a digital signal. Moreover, each tap may produce avalue for each sample and that value may be held in 16-bits, therebycontaining values in the range of −32768 to 32767.

An equation for the output of the FIR filter at time n is y[n]=sum overi [where i =0 to N−l]{x[n−i]* tap[i]}for some positive integer N.Convergence of the echo canceller FIR filter may be achieved by use ofknown signal processing methods. A function of the amplitude may betaken. For example, a stochastic gradient least mean square or recursiveleast squares may be taken of the measured amplitudes. Values associatedwith taps of the filter should then be similar to the actual impulseresponse samples of the hybrid causing the echo. Thus the model of theecho may be created.

Assuming a FIR filter having 1024 taps, a hybrid may be modeled using 80to 200 taps of the FIR filter, which may correspond to 10 to 25milliseconds of echo, assuming an input signal sampling frequency of8000 samples per second. It should be recognized that certain taps mayhave a zero value at any particular time for a given hybrid and voicechannel, thus detecting no signal error representing echo at a specificdelay. That delay may be determined by multiplying the index of that tapby 125 micro-seconds, for example. In certain applications, such asthose in which more than one microphone in, for example, multipletelephone extensions is utilized, the echo may consist of two or morenon-overlapping sub-impulse responses each of which results from aseparate hybrid associated with a separate telephone, and all of whichcombine to form voice communications emanating from a single node.Recognizing that there may be multiple sub-impulse responses, it becomesdesirable for the FIR filter to have a large number of non-zero taps(for example, greater than 512 non-zero taps), which may be adaptedusing adaptive filter techniques until locations of active non-zero tapsare determined with a high degree of confidence.

Thus, if the desired tap is “t'[i]” and the implemented tap is “t[i],”then the quantization noise “q[i]” may be represented by calculating theabsolute value of the difference between the desired tap and theimplemented tap, which may be represented by q[i]=|t'[i]−t[i]|. Thetotal quantization noise may then be y[n] wherein y[n] is equal to thesum over i, where i=0 to N−1 of {q[i]}.

Where N is large, for example, 1024 taps, and recognizing that q[i]terms will all be positive, and thus will not cancel each other butrather may be added to find quantization noise, it may be beneficial tominimize quantization noise values by adaptively scaling those values.

Thus, for example, for a given voice channel the highest normal, ormaximum amplitude of a value associated with any tap may be plus orminus 0.25 volts. Then the maximum possible range of numbers that may berepresented in connection with a tap, assuming 16-bits of precision, is−32768 to 32767. The value 32767 may then be set to represent 0.25 voltsand the value −32767 may be set to represent −0.25 volts. That providesa resolution of 0.25/32767, or 7.62 microvolts.

For another voice channel, the highest normal or maximum amplitude ofany tap may be plus or minus 1.0 volts. Then the maximum possible numberthat may be held by a tap of that voice channel, again assuming 16-bitsof precision, of 32767 may represent 1.0 volt, with −32767 representing−1.0 volt. That provides a resolution of 1.0/32767, or 30.51 microvolts.

Recognizing that a tap should hold a value that represents the highestreal amplitude value that is occurring and also that improved resolutionoccurs where the highest tap value represents the smallest possibleamplitude, it may be desirable to dynamically scale the amplitudes beingexperienced to the range of values that may be held by the tap. Thus,the echo canceller may assume that the maximum amplitude of any tap isplus or minus 1.0 volt, sample actual values of a signal to determinewhether a maximum actual amplitude is at a level less than 1.0 volt,determine the maximum actual amplitude expected to be received based onthe actual amplitude sensed in the sampling, and reset the tap precisionto a value less than 1.0 volt to provide improved resolution, resultingin better echo cancellation and faster speed of convergence.

FIG. 1 illustrates a method of adaptively scaling values associated withecho canceller taps 100. That method of adaptively scaling valuesassociated echo canceller taps 100 may find an optimal scale for echoamplitude to provide optimal resolution when that amplitude is to beheld in a specific number of bits, which may be used in echo reduction.For example, when an analog signal is sampled and that analog signalincludes an echo represented by an amplitude and the echo amplitude isto be identified by a FIR filter and held in a 16-bit word, then highestresolution may be achieved for the echo by scaling the actual valuesassociated with echo canceller taps to the value that may be held in the16-bit word.

Thus the word, or plurality of bits, may be proportionally scaled suchthat a maximum positive binary value that may be represented by thatplurality of bits represents approximately the maximum of the absolutevalues of one or more echo canceller taps being considered. The rangemay include both positive and negative values where, for example, theplurality of bits includes a sign bit. Accordingly, the plurality ofbits may proportionately hold a range from negative the absolute valueof the approximate actual maximum amplitude to the absolute value of theapproximate actual maximum amplitude, or a close approximation of thoseamplitude values.

At 102, the echo canceller tap scaling is initialized so that scalingmay be recalculated, thereby giving the echo canceller tap scaling anadaptive quality. During initialization, a value or variable such asOptimumScale may be set to false or zero to indicate that a new optimumscale has not been calculated and a value or variable such asTapUpdateTime may be set to zero. During an initial operation of themethod, a maximum amplitude expected to be incident on the signal mayalso be set at an initial or default maximum amplitude.

At 104, the echo canceller taps are measured. One or more most recentlymeasured echo amplitudes may be considered to determine an actualmaximum amplitude. That actual maximum amplitude may be normalized,approximated, set at a predetermined portion of a sample or otherwisemanipulated to eliminate anomalous values such that the approximateactual maximum amplitude of the signal is an amplitude under which adesired portion of the actual amplitude of the samples fall. The actualmaximum amplitude may be used in place of the initial maximum amplitude,once measured.

At 106, a determination is made as to whether the echo canceller filteris converging to a true hybrid impulse response. A true hybrid impulseresponse is one that accurately describes the process by which thecurrent echo is being created. If the echo signal is not converging to atrue hybrid, then additional measurements may be measured and signalmeasurement 104 may be repeated. If the echo signal is converging to atrue hybrid, then scaling may be determined.

A factor that may be considered when determining whether the echocanceller filter is converging to a true hybrid impulse response is thetime since scaling was last updated. It may be desirable to preventchanges in scaling from occurring in less than, for example, 500milliseconds. To accomplish that, a time interval may be set betweencalculations of echo canceller tap levels, which may be obtained, forexample, by way of a clock or by counting a predetermined number ofinput signal samples to the echo canceller filter. In the presentexample, TapUpdateTime will be incremented and checked each cycle of themethod of adaptively scaling echo signals 100 to assure that 500milliseconds has elapsed since the last scale was implemented.

A minimum change in scaling factor may also be set so that if a newscale is calculated, but that scale is within a desired range, such as apreset hysteresis range, then the new scale may be rejected and thecurrent scale retained. If the new scale is outside of the hysteresisrange, either higher or lower than the current scale, then OptimumScalemay be set to true or one to indicate that a new scale should beimplemented.

At 108, if a new scale is desired, that new scale may be calculated bydividing the maximum value that can be represented in the plurality ofbits utilized by the echo canceller by the current approximate maximumvalue of the echo canceller taps. The maximum echo magnitude may benormalized to clip extraneously high magnitude readings while keepingall measurements that are within the range in which echo falls. Thevalue or variable OptimumScale may also be set to true or one indicatingthat a new scale has been calculated so that the new scale may then beimplemented.

At 110, a determination is made as to whether the change in scale issignificant. A significance threshold may be set that may be, forexample, a fixed amount of change in scaling or a percentage change inscaling and a significant change could then be any change greater thanthe significance threshold. That significance threshold may furthermoreact both for increases and decreases in scaling or for either increasesor decreases. If the significance threshold is not exceeded, then it hasbeen determined that the change is not significant and the scaling willnot be updated at 112.

At 112, the scale is implemented by applying it to the echo cancellertaps. Because the echo canceller taps are scaled to maximize the set ofbits in which the echo canceller taps will be stored, resolution of theecho canceller taps will be optimized.

At 114, if the threshold has been exceeded, then the scaling may bereset to a maximum predefined value such as, for example, 1.0 volt at116 and scaling may be re-performed in a next iteration to find anappropriate scale less than the 1.0 volt default. That default may alsobe used as an initial scaling value when the method of adaptivelyscaling echo signals 100 is first performed. In practice, exceeding sucha threshold may not occur and so establishing and checking such athreshold may not be necessary.

An article of manufacture that includes a computer readable mediumhaving stored thereon instructions that cause a processor to performthat method of adaptively scaling echo signals when those instructionsare executed may also be constructed.

FIG. 2 illustrates a processor based echo reduction device 150 that maybe used to reduce an echo portion of a signal. That processor based echoreduction device 150 includes memory 152, a processor 154, a storagedevice 156, an output device 158, an input device 160, and acommunication adaptor 162. It should be recognized that any or all ofthe components 152-162 of the processor based echo reduction device 150may be implemented in a single machine. For example, the memory 152 andprocessor 154 might be combined in a state machine or other hardwarebased logic machine.

Communication between the processor 154, the storage device 156, theoutput device 158, the input device 160, and the communication adaptor162 may be accomplished by way of one or more communication busses 164.It should be recognized that the processor based echo reduction device150 may have fewer components or more components than shown in FIG. 2.For example, if information storage after device de-energization is notdesired, the storage device 156 may not be included with the processorbased echo reduction device 150.

The memory 152 may, for example, include random access memory (RAM),dynamic RAM, and/or read only memory (ROM) (e.g., programmable ROM,erasable programmable ROM, or electronically erasable programmable ROM)and may store computer program instructions and information. The memory152 may furthermore be partitioned into sections including an operatingsystem partition 166, wherein instructions may be stored, a datapartition 168 in which data may be stored, and an echo reductionpartition 170 in which instructions for echo reduction and storedinformation related to such echo reduction may be stored. The echoreduction partition 170 may also allow execution by the processor 154 ofthe instructions to perform the instructions stored in the echoreduction partition 170. The data partition 118 may furthermore storedata to be used during the execution of the program instructions suchas, for example, audio information that is being formatted for orretrieved from one or more packets.

The processor 154 may execute the program instructions and process thedata stored in the memory 152. In one embodiment, the instructions arestored in memory 152 in a compressed and/or encrypted format. As usedherein the phrase, “executed by a processor” is intended to encompassinstructions stored in a compressed and/or encrypted format, as well asinstructions that may be compiled or installed by an installer beforebeing executed by the processor.

The storage device 156 may, for example, be a magnetic disk (e.g.,floppy disk and hard drive), optical disk (e.g., CD-ROM) or any otherdevice or signal that can store digital information. The communicationadaptor 162 may permit communication between the processor based echoreduction device 150 and other devices or nodes coupled to thecommunication adaptor 162 at a communication adaptor port 172. Thecommunication adaptor 162 may be a network interface that transfersinformation from nodes 206 and 208 on a network such as the network 200illustrated in FIG. 3, to the processor based echo reduction device 150or from the processor based echo reduction device 150 to nodes 206 and208 on the network 200. The network in which the processor based echoreduction device 150 operates may alternately be a LAN, WAN, or theInternet. It will be recognized that the processor based echo reductiondevice 150 may alternately or in addition be coupled directly to one ormore other devices through one or more input/output adaptors (notshown).

The processor based echo reduction device 150 may also be coupled to oneor more output devices 158 such as, for example, a speaker, a monitor orprinter, and one or more input devices 160 such as, for example, amicrophone, keyboard, or mouse. It will be recognized, however, that theprocessor based echo reduction device 150 does not necessarily need tohave all of those output devices 158 or input devices 160 to operate.

The elements 152,154,156,158,160, and 162 of the processor based echoreduction device 150 may communicate by way of one or more communicationbusses 164. Those busses 164 may include, for example, a system bus, aperipheral component interface bus, and an industry standardarchitecture bus.

FIG. 3 illustrates a voice over IP network 200 in which an echoreduction device may be implemented. The voice over IP systemillustrated includes two telephony devices 202 and 204 that are coupledto first and second nodes 206 and 208 respectively. The first node 206and second node 208 are also coupled to a network 210 to form a voiceover IP telephony network 200.

Telephony devices that include echo reduction may be, for example,telephones that are wired to a network, wireless or cordless telephones,two-way radios, or other telephones.

FIG. 4 illustrates an echo reduction system 220 in which echo scalingmay be implemented. The echo reduction system 220 includes a 4-wiretransmission circuit 222 and a 2-wire transmission circuit 224.Alternately, coaxial cable, wireless communication through radio waves,or other coupling of varying forms of communication may be coupled,causing hybrid echo. Hybrid echoes may be reflected signals caused, forexample, by the coupling of various forms of communication.

The 4-wire transmission circuit 222 includes receptor network elements226 coupled to a digital network 228 to receive digital audiotransmissions. A decoder 230 receives the audio information from thereceptor network elements 226 and converts that digital information intoan analog signal. Transmitter network elements 232 receive audioinformation from a non-linear processor 234 and transmit that audioinformation to the network 228. The non-linear processor 234 may beactivated in single-talk mode, when only one person is speaking, toreduce undesirable signal attributes. The transmitter network elements232 may also convert an analog audio signal to digital audioinformation.

An adaptive filter 236 may be implemented between a return portion 238and a transmit portion 240 of the 4-wire transmission circuitry. Thatadaptive filter may include a signal modification element, a scalingelement and a signal reduction element. The signal reduction element mayimplement adaptive scaling of, for example, echo canceller taps in audiocommunications. The adaptive filter may then scale the echo cancellertaps to fit within a plurality of bits associated with the adaptivefilter, such as may be included in a filter tap. The adaptive filterthus reduces an echo component embedded in a signal input into theadaptive filter.

The 4-wire transmission circuit may be coupled to the 2-wiretransmission circuit by way of converters 242 and 244 and echo hybridsmay be created by that conversion.

An acoustic echo canceling device 246 is incorporated into the 2-wirecommunication circuit. A speaker 248 and a microphone 250 may be coupledto the 2-wire communication circuit to output and input audiorespectively. The acoustic echo canceling device 246 may reduce echocaused, for example, by feedback received at the microphone 250 from thespeaker 248. It may be noted that adaptive scaling and echo reduction,as described herein, is applicable to the acoustic echo canceling device246.

Reflections that cause echoes may commonly occur between the 4-wireconverter 242 and the adaptive filter 236, as indicated at 252, and alsobetween the 2-wire converter 244 and the adaptive filter 236, asindicated at 254.

A voice over internet protocol communication device may incorporate someor all of the elements of the echo reduction system 220 to reduce echoin audio communications.

FIG. 5 illustrates a graph of an echo reduction system operating whenthe hybrid has an inherent echo return loss of 23 dB 270, depictingresidual echo remaining after echo cancellation when using adaptivescaling at 272 and residual echo remaining after echo cancellationwithout adaptive scaling at 274. The graph of FIG. 5 was createdutilizing a sampling of a signal similar to the ITU G.168 standard, test2B based, voice communication signal. The hybrid delay was 40milliseconds and the hybrid echo return loss was 23 dB. The ITU G.168standard, including the standard tests illustrated in FIGS. 5 and 6, maybe found by subscribing to the International Telecommunications Union athttp://www.itu.int/home/index.html. The ITU standard was copyrighted inJune 2002. The horizontal axis 276 of the graph 270 of FIG. 5 indicatespassage of time in samples taken. The vertical axis 278 of the graph 270of FIG. 5 indicates echo rejection in decibels. The upper signal 274illustrates residual echo remaining after echo cancellation withoutadaptive scaling and the lower signal 272 illustrates residual echoremaining after echo cancellation with adaptive scaling. As may be seen,echo is reduced more utilizing echo cancellation with adaptive scaling.

FIG. 6 illustrates a graph of an echo reduction system operating whenthe hybrid has an inherent echo return loss of 18 dB 280. FIG. 6 depictsresidual echo remaining after echo cancellation when using adaptivescaling at 282 and residual echo remaining after echo cancellationwithout adaptive scaling at 284. Like the graph of FIG. 5, the graph ofFIG. 6 was created utilizing a sampling of a signal similar to the ITUG.168 standard, test 2B based, voice communication signal. The hybriddelay utilized was 40 milliseconds and the hybrid echo return loss was18 dB. The horizontal axis 286 of the graph 280 of FIG. 6 indicatespassage of time in samples taken. The vertical axis 288 of the graph 280of FIG. 6 indicates echo rejection in decibels. The upper signal 284illustrates residual echo remaining after echo cancellation withoutadaptive scaling and the lower signal 282 illustrates residual echoremaining after echo cancellation with adaptive scaling. As may be seen,echo is reduced more utilizing echo cancellation with adaptive scalingin this test as well as the test illustrated in FIG. 5.

FIG. 7 illustrates a signal modification method according to someembodiments. At 710, an input signal is received (eg., an analog signalmay be received at an input of a filter). At 720, a binary range isscaled. The binary range may be, for example, associated with one ormore taps of the filter and be scaled to a value of a high amplitude ofa portion of that input signal. Note that the binary range may be arange of binary values that may be represented by a plurality of bits.At 730, a value is stored. For example, a value corresponding to asecond portion of the input signal may be stored in association with oneof the taps according to the scale. At 740, the input signal is modified(e.g., by an amount commensurate with the stored portion of the inputsignal). At 750, the modified signal is output (e.g., from the filter).

FIG. 8 illustrates a method of scaling a value associated with finiteimpulse response filter tap to an echo amplitude according to someembodiments. At 810, a range of values that may be held in binary inassociation with the tap is determined. At 820, a range within which anormal echo amplitude portion of an audio signal falls may bedetermined. At 830, the range of values that may be held in binary inassociation with the tap may be scaled to the range within which normalecho amplitude falls. At 840, an echo amplitude is measured. Forexample, the echo amplitude may be measured using the finite impulseresponse filter and storing a value corresponding to the magnitude ofthe measured amplitude associated with the filter tap based on thescale.

FIG. 9 illustrates a device 900 according to some embodiments. Inparticular, the device 900 includes a signal modification element 910coupled to a signal. The device 900 may also include a plurality of bits920 coupled to the signal modification element 910 (and the plurality ofbits may have a range of values that may be held therein). The device900 may further include a scaling element 930 coupled to the signalmodification element 910 and the plurality of bits 920. The scalingelement 930 might, for example, scale a first amplitude measured at thesignal modification element 910 to the range of values that may be heldin the plurality of bits 920 and store a value that represents a secondmeasured amplitude in the plurality of bits 920 according to that scale.In addition, the device 900 may include a signal reduction element 940coupled to the plurality of bits 920.

While the systems, apparatuses, and methods of echo reduction andscaling have been described in detail and with reference to specificembodiments thereof, it will be apparent to one skilled in the art thatvarious changes and modifications can be made therein without departingfrom the spirit and scope thereof. Thus, it is intended that the echoreduction systems, apparatuses, and methods cover modifications andvariations provided they come within the scope of the appended claimsand their equivalents.

1. A signal modification method, comprising: receiving an input signalat an input of a filter; sensing a high amplitude of a first portion ofan input signal; determining a scaling value based on a value of thehigh amplitude; scaling a binary range associated with one or more tapsof the filter to the scaling value; storing a value corresponding to asecond portion of the input signal in association with one of the tapsaccording to the scale; and modifying the input signal by an amountcommensurate with the stored portion of the input signal.
 2. The methodof claim 1, wherein the received signal is an analog signal.
 3. Themethod of claim 1, wherein the filter is a finite impulse responsefilter.
 4. The method of claim 1, wherein an amplitude of the secondportion of the input signal is stored.
 5. The method of claim 4, whereinthe amplitude is an amplitude of an echo component of an audio signal.6. The method of claim 1, further comprising outputting the modifiedsignal from the filter.
 7. The method of claim 1, wherein the highamplitude is an amplitude under which a desired portion of one or moreactually measured amplitudes of the input signal fall.
 8. The method ofclaim 1, wherein the binary range is a range of binary values that maybe represented by a plurality of bits.
 9. The method of claim 1, whereinthe binary range is scaled proportionately.
 10. The method of claim 1,further comprising scaling the plurality of bits proportionately suchthat a negative binary value that may be represented by that pluralityof bits represents the negative of the absolute value of the highamplitude and a positive binary value that may be represented by thatplurality of bits represents the absolute value of the high amplitude.11. The method of claim 10, wherein the negative binary value is thelargest negative binary value that may be held by the plurality of bitsand the positive binary value is the largest positive binary value thatmay be held by the plurality of bits.
 12. The method of claim 1, whereinthe high amplitude is a largest of a plurality of measured amplitudes ofan echo in an audio transmission.
 13. The method of claim 1, wherein thehigh amplitude is a function of a sampling of a plurality of actuallymeasured amplitudes of echo in an audio transmission.
 14. A method ofscaling a value associated with a finite impulse response filter tap toan echo amplitude, comprising: determining a range of values that may beheld in binary in association with the tap; sensing a high value of therange of values; determining a scaling value based on the high value ofthe range of values; and scaling the range of values that may be held inbinary in association with the tap to the scaling value.
 15. The methodof claim 14, further comprising measuring echo amplitude using thefinite impulse response filter and storing a value corresponding to themagnitude of the measured amplitude in association with the filter tapbased on the scale.
 16. The method of claim 14, further comprisingreducing the audio signal by the amplitude associated with the filtertap.
 17. A device, comprising: a signal modification element coupled toa signal; a plurality of bits coupled to the signal modificationelement, the plurality of bits having a range of values that may be heldtherein; a scaling element coupled to the signal modification elementand the plurality of bits to sense a high amplitude of the range ofbits, determine a scaling value based on a value of the high amplitude,scale a first amplitude measured at the signal modification element tothe scaling value and store a value that represents a second measuredamplitude in the plurality of bits according to that scale; and a signalreduction element coupled to the plurality of bits.
 18. The device ofclaim 17, wherein the signal modification element is a digital signalfilter.
 19. The device of claim 17, wherein the signal modificationelement is a finite impulse response filter.
 20. The device of claim 19,wherein the finite impulse response filter is coupled to an audio signalto measure an echo portion of that audio signal.
 21. The device of claim20, wherein the plurality of bits is associated with a tap of the finiteimpulse response filter.
 22. The device of claim 17, wherein the signalmodification element is coupled to a first signal and the signalreduction element is coupled to a second signal.
 23. A voice overinternet protocol communication device, comprising: a digital audioreceiver; a digital to analog decoder coupled to the digital audioreceiver; an adaptive filter having an input to couple to a first signalto be received from the digital to analog decoder; that is to sense ahigh amplitude of the first signal, determine a scaling value based on avalue of the high amplitude, scale a range of values that may be held ina plurality of bits associated with the adaptive filter to the scalingvalue, store a second amplitude incident on the first signal in theplurality of bits in accordance with the scale; and having an output totransmit a second signal that is equivalent to the first signal reducedby the second amplitude; an analog to digital converter coupled to thesecond signal; and a digital audio transmitter coupled to the analog todigital converter.
 24. The voice over internet protocol communicationdevice of claim 23, wherein the digital to analog decoder convertsdigital audio information received at the digital audio receiver to acorresponding analog audio signal.
 25. The voice over internet protocolcommunication device of claim 23, wherein the analog to digitalconverter converts an analog audio signal to corresponding digital audioinformation to be transmitted by the digital audio transmitter.
 26. Anarticle of manufacture comprising: a computer readable medium havingstored thereon instructions which, when executed by a processor, causethe processor to: determine a range of values that may be held in binaryby a plurality of bits; sense a high value of the range of values;calculate a scaling value based on the high value of the range ofvalues, wherein the calculated scaling value may represent one of atleast three potential scaling values; and scale the range of values thatmay be held in binary in association with the tap to the scaling value.27. The article of manufacture of claim 26, wherein the instructionsfurther cause the processor to measure an echo amplitude and store avalue corresponding to the magnitude of the measured amplitude in theplurality of bits based on the scale.
 28. The method of claim 26,wherein the instructions further cause the processor to reduce a signalby the amplitude associated with a filter tap.